import re
# * 匹配前一个字符出现0次或者无限次，即可有可无  = {0,}
# print(re.search('cc\w', 'helkfldjkccl').group())  #ccl
# print(re.search('he\w*', 'helhello').group())    #helhello 匹配所有

# + 匹配前一个字符出现1次或者无限次，即至少有1次  = {1,}
#>dfk<  >dfk< <div>
# print(re.search('>dfk+<', '>dfk<').group())  #>dfk<  = <div>+
# print(re.search(' <div+>', ' <div>').group())  # <div>
# print(re.search(' <div+>', ' <d>').group())  # 报错   + =1

# ? 匹配前一个字符出现1次或者0次，即要么有1次，要么没有 = {0,1}
# print(re.search('ff\w?', 'fffff').group())  #fff
# print(re.search('wf\w?', 'wf').group())    #wf

# {m} 匹配前一个字符出现m次
# print(re.search('he{3}', 'heeeeee').group())     #heee
# print(re.search('he\w{3}', 'heeeeee').group())    #heeee
# print(re.search('he.{3}', 'heee\neee').group())

# {m,n}匹配前一个字符出现从m到n次
# 注意: {m,n}中间不能有空格
#>dfk<  >dfk< <dfdgk>
# print(re.search('<[a-z0-9]{1,8}>', ',<dfk> ').group())   #<dfk>
# print(re.search('<[a-z0-9]{1,6}>', ',<dfdgk> ').group())   #<dfdgk>
# print(re.search('<[a-z0-9]{1,4}>', ',<dfk> ').group())   #<dfk>
# print(re.search('<[a-z0-9]{1,6}>', ',<dffgdgk> ').group())   #报错 因为多于规定的次数{1,6}
# print(re.search('<[a-z0-9]{6}>', ',<dffdgk> ').group())  #与{1,6}相同

# {m,}匹配前一个字符至少出现m次
# print(re.search('<[a-z0-9]{1,}>', '<hg1h>').group())
print(re.search('<[a-z0-9]{1,}>', '<h1>').group()) #<h1>
print(re.search('<[a-z0-9]{1,}>', '<hflkdsjalkfdsjlkafsdjflkasdjflksdjflksdjflkdsjlkfds>').group())  #<hflkdsjalkfdsjlkafsdjflkasdjflksdjflksdjflkdsjlkfds>
# print(re.search('<[a-z0-9]{1,}>', '<>').group())

#匹配手机号
phone =input('手机号:')
#由1开头   第2位由 [3-9]组成  11位数
if re.search('1[3-9]\d{9}$',phone):
    print('合法手机号码')
else:
    print('不合法手机号码')